package com.efast.dmom.aps.bean;

import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateDeserializer;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
/**
 * 
 * @author wj
 * @data 2020/3/3
 *
 */
public class PlanOrderAdjust implements Serializable{

	/**
	 * 
	 */
	private static final long serialVersionUID = -5791679360477389642L;
	
	private int planOrderId;
	
	private String planOrderName;
	
	private String orderNumber;
	
	private long parentPlanId;
	
	private String partNo;
	
	private String planNo;
	
	private String partDesc;
	
	private double quantity;
	
	private int priority;
	
	private String orderStatus;
	
	@JsonDeserialize(using = LocalDateDeserializer.class)
	@JsonSerialize(using = LocalDateSerializer.class)
	@JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd")
	private LocalDate planOfflineDate = null;
	
	@JsonDeserialize(using = LocalDateTimeDeserializer.class)
	@JsonSerialize(using = LocalDateTimeSerializer.class)
	@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
	private LocalDateTime scheduledOnlineDate = null;

	@JsonDeserialize(using = LocalDateTimeDeserializer.class)
	@JsonSerialize(using = LocalDateTimeSerializer.class)
	@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
	private LocalDateTime scheduledOfflineDate = null;
	
	private long workshopId;
	
	private long prodLineId;
	
	private String workshopName;
	
	private String productionLineName;
	
    private String analysisResult;
    private String description;
    private String ea0;
	private String ea1;
	private String ea2;
	private String ea3;
	private String ea4;
	private int siteId;
	// Aaron: change from LocalDate to LocalDateTime
	@JsonDeserialize(using = LocalDateTimeDeserializer.class)
	@JsonSerialize(using = LocalDateTimeSerializer.class)
	@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
	private LocalDateTime creationTime;
	
	private String creationTimeZone;
	
	private String creator;
	
	@JsonDeserialize(using = LocalDateTimeDeserializer.class)
	@JsonSerialize(using = LocalDateTimeSerializer.class)
	@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
	private LocalDateTime lastModifiedTime;
	
	private String lastModifiedTimeZone;
	private String lastModifier;
	private int creationPid;
	private int lastModifiedPid;
	private int rowStatus;
	private long rowTrxId;
	
	public int getPlanOrderId() {
		return planOrderId;
	}
	public void setPlanOrderId(int planOrderId) {
		this.planOrderId = planOrderId;
	}
	public String getPlanOrderName() {
		return planOrderName;
	}
	public void setPlanOrderName(String planOrderName) {
		this.planOrderName = planOrderName;
	}
	public String getOrderNumber() {
		return orderNumber;
	}
	public void setOrderNumber(String orderNumber) {
		this.orderNumber = orderNumber;
	}
	public long getParentPlanId() {
		return parentPlanId;
	}
	public void setParentPlanId(long parentPlanId) {
		this.parentPlanId = parentPlanId;
	}
	public String getPartNo() {
		return partNo;
	}
	public void setPartNo(String partNo) {
		this.partNo = partNo;
	}
	public String getPlanNo() {
		return planNo;
	}
	public void setPlanNo(String planNo) {
		this.planNo = planNo;
	}
	public String getPartDesc() {
		return partDesc;
	}
	public void setPartDesc(String partDesc) {
		this.partDesc = partDesc;
	}
	public double getQuantity() {
		return quantity;
	}
	public void setQuantity(double quantity) {
		this.quantity = quantity;
	}
	public int getPriority() {
		return priority;
	}
	public void setPriority(int priority) {
		this.priority = priority;
	}
	public String getOrderStatus() {
		return orderStatus;
	}
	public void setOrderStatus(String orderStatus) {
		this.orderStatus = orderStatus;
	}
	public LocalDate getPlanOfflineDate() {
		return planOfflineDate;
	}
	public void setPlanOfflineDate(LocalDate planOfflineDate) {
		this.planOfflineDate = planOfflineDate;
	}
	public LocalDateTime getScheduledOnlineDate() {
		return scheduledOnlineDate;
	}
	public void setScheduledOnlineDate(LocalDateTime scheduledOnlineDate) {
		this.scheduledOnlineDate = scheduledOnlineDate;
	}
	public LocalDateTime getScheduledOfflineDate() {
		return scheduledOfflineDate;
	}
	public void setScheduledOfflineDate(LocalDateTime scheduledOfflineDate) {
		this.scheduledOfflineDate = scheduledOfflineDate;
	}
	public long getWorkshopId() {
		return workshopId;
	}
	public void setWorkshopId(long workshopId) {
		this.workshopId = workshopId;
	}
	public long getProdLineId() {
		return prodLineId;
	}
	public void setProdLineId(long prodLineId) {
		this.prodLineId = prodLineId;
	}
	public String getWorkshopName() {
		return workshopName;
	}
	public void setWorkshopName(String workshopName) {
		this.workshopName = workshopName;
	}
	public String getProductionLineName() {
		return productionLineName;
	}
	public void setProductionLineName(String productionLineName) {
		this.productionLineName = productionLineName;
	}
	public String getAnalysisResult() {
		return analysisResult;
	}
	public void setAnalysisResult(String analysisResult) {
		this.analysisResult = analysisResult;
	}
	public String getDescription() {
		return description;
	}
	public void setDescription(String description) {
		this.description = description;
	}
	public String getEa0() {
		return ea0;
	}
	public void setEa0(String ea0) {
		this.ea0 = ea0;
	}
	public String getEa1() {
		return ea1;
	}
	public void setEa1(String ea1) {
		this.ea1 = ea1;
	}
	public String getEa2() {
		return ea2;
	}
	public void setEa2(String ea2) {
		this.ea2 = ea2;
	}
	public String getEa3() {
		return ea3;
	}
	public void setEa3(String ea3) {
		this.ea3 = ea3;
	}
	public String getEa4() {
		return ea4;
	}
	public void setEa4(String ea4) {
		this.ea4 = ea4;
	}
	public int getSiteId() {
		return siteId;
	}
	public void setSiteId(int siteId) {
		this.siteId = siteId;
	}
	public LocalDateTime getCreationTime() {
		return creationTime;
	}
	public void setCreationTime(LocalDateTime creationTime) {
		this.creationTime = creationTime;
	}
	public String getCreationTimeZone() {
		return creationTimeZone;
	}
	public void setCreationTimeZone(String creationTimeZone) {
		this.creationTimeZone = creationTimeZone;
	}
	public String getCreator() {
		return creator;
	}
	public void setCreator(String creator) {
		this.creator = creator;
	}
	public LocalDateTime getLastModifiedTime() {
		return lastModifiedTime;
	}
	public void setLastModifiedTime(LocalDateTime lastModifiedTime) {
		this.lastModifiedTime = lastModifiedTime;
	}
	public String getLastModifiedTimeZone() {
		return lastModifiedTimeZone;
	}
	public void setLastModifiedTimeZone(String lastModifiedTimeZone) {
		this.lastModifiedTimeZone = lastModifiedTimeZone;
	}
	public String getLastModifier() {
		return lastModifier;
	}
	public void setLastModifier(String lastModifier) {
		this.lastModifier = lastModifier;
	}
	public int getCreationPid() {
		return creationPid;
	}
	public void setCreationPid(int creationPid) {
		this.creationPid = creationPid;
	}
	public int getLastModifiedPid() {
		return lastModifiedPid;
	}
	public void setLastModifiedPid(int lastModifiedPid) {
		this.lastModifiedPid = lastModifiedPid;
	}
	public int getRowStatus() {
		return rowStatus;
	}
	public void setRowStatus(int rowStatus) {
		this.rowStatus = rowStatus;
	}
	public long getRowTrxId() {
		return rowTrxId;
	}
	public void setRowTrxId(long rowTrxId) {
		this.rowTrxId = rowTrxId;
	}

}
